@Allure
2年前 提问
1个回答

白盒测试和黑盒测试做本质的区别

X0_0X
2年前

白盒测试和黑盒测试的区别包括以下几点:

  • 定义不同

    黑盒测试:顾名思义就是把测试对象看作一个不能打开的黑盒子。测试时,测试人员完全不用考虑盒子里面的逻辑结构和具体运作,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明,检验输出结果对不对。

    白盒测试:与黑盒恰恰相反,这种方法是把测试对象看作一个打开的透明盒子。测试时,测试人员会利用程序内部的逻辑结构及有关信息,通过在不同点检查程序状态,检验程序中的每条通路是否都能按预定要求进行正确工作。

  • 测试对象不同

    黑盒测试:主要针对的是程序所展现给用户的功能。

    白盒测试:主要针对的是程序代码逻辑,简单的说,就是前者测试最终展示功能,后者测试后台程序。

  • 测试方式不同

    黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。

    白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

  • 测试目的不同

    黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。

    白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

  • 测试原则不同

    黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

    白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。